package com.ctshk.rpc.system.entity;

import java.math.BigDecimal;
import java.time.LocalDate;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.ctshk.common.model.BaseEntity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 代理商
 * </p>
 *
 * @author 张志朋
 * @since 2021-02-04
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "t_sys_agent",autoResultMap = true)
@ApiModel(value="SysAgent对象", description="代理商")
public class SysAgent extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "代理商名称")
    private String cnName;

    @ApiModelProperty(value = "代理商英文名称")
    private String enName;

    @ApiModelProperty(value = "城市")
    private String city;
    
    @ApiModelProperty(value = "城市id")
    private Long cityId;

    @ApiModelProperty(value = "所属部门")
    private Long departmentId;

    @ApiModelProperty(value = "代理商类别")
    private Long agentTypeId;

    @ApiModelProperty(value = "挂账客户")
    private String onAccountCustomer;

    @ApiModelProperty(value = "营业执照")
    private String businessLicense;

    @ApiModelProperty(value = "合同")
    private String contractFile;

    @ApiModelProperty(value = "公司电话")
    private String companyTelephone;
    
    @ApiModelProperty(value = "代理商地址")
    private String location;

    @ApiModelProperty(value = "是否使用系统")
    private Integer useSys;

    @ApiModelProperty(value = "所属系统 1 核心业务系统;2 供应商开放平台;3 代理商分销系统ADS;4 地接系统;5 商旅系统TMC")
    private Integer platformSysType;

    @ApiModelProperty(value = "财务系统编码")
    private String financeSysCode;

    @ApiModelProperty(value = "代理商联系人")
    private String businessContactName;

    @ApiModelProperty(value = "代理商联系人电话")
    private String businessContactMobile;

    @ApiModelProperty(value = "代理商业务邮箱")
    private String businessContactEmail;

    @ApiModelProperty(value = "代理商传真")
    private String contactFax;

    @ApiModelProperty(value = "银行名称")
    private String bankName;

    @ApiModelProperty(value = "银行卡号")
    private String bankCard;

    @ApiModelProperty(value = "代理商财务联系人")
    private String financeContactName;

    @ApiModelProperty(value = "财务联系电话")
    private String financeContactMobile;

    @ApiModelProperty(value = "财务邮箱")
    private String financeContactEmail;

    @ApiModelProperty(value = "结算周期")
    private Integer settlementPeriod;

    @ApiModelProperty(value = "结算周期类型(	1 按天结算	2 按周结算	3 按月结算)")
    private Integer settlementPeriodType;

    @ApiModelProperty(value = "结算币种类型")
    private String settlementCurrency;

    @ApiModelProperty(value = "合作有效期类型(	1 有时间限制	2 长期)")
    private Integer cooperationValidityType;

    @ApiModelProperty(value = "合作开始时间")
    private LocalDate cooperationDateBegin;

    @ApiModelProperty(value = "合作结束时间")
    private LocalDate cooperationDateEnd;

    @ApiModelProperty(value = "其他文件")
    @TableField(typeHandler = FastjsonTypeHandler.class)
    private String otherFiles;

    @ApiModelProperty(value = "业务监督人")
    private String businessSupervisor;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "审批状态 1待提交;2 审批中;3审批不通过;4审批通过 ")
    private Integer checkStatus;

    @ApiModelProperty(value = "创建人")
    private Long createId;

    @ApiModelProperty(value = "修改人")
    private Long modifiedId;

    @ApiModelProperty(value = "删除标识")
    private Integer isDeleted;

    @ApiModelProperty(value = "账号状态 0无效 1有效  ")
    private Integer status;
    
    @ApiModelProperty(value = "币种ID")
    private Long currencyId;

    @ApiModelProperty(value = "币种")
    private String currency;

    @ApiModelProperty(value = "汇率")
    private BigDecimal exchangeRate;

}
